Today, there are several automation frameworks currently deployed that support software provisioning, for example, for installation testing of software. Each framework encounters similar obstacles, such as test scheduling, results storage/reporting, environment initialization and test case design. Often times, the implementations to overcome similar problems are divergent.
Most automation frameworks must address the issue of system initialization. A common method for addressing this on Anaconda-based Linux distributions is by performing a fresh product installation using a set of hand crafted kickstart files. While this method works fairly well once established, it suffers from several problems.
First, before any system is made available, a kickstart template must be created for each applicable test release. To obtain this file, every applicable test release must be installed and the resulting /root/anaconda-ks.cfg file can then be used as the kickstart template for all future installs of that release for that test system. This is a time consuming processing.
Second, as the number of systems in the test pool increases, the number of kickstart files to maintain grows significantly. This translates to hand-maintaining a large number of kickstart template files. Thus, when a situation arises where an installation workaround is required, the number of kickstart files requiring updates is significant.
Accordingly, it would be desirable to provide a tool that makes installation testing simpler for the end-user. It would also be desirable to provide a tool that helps automate installation testing.